import Vue from 'vue'
import Vuex from 'vuex'
/** vuex是一个插件，vue中使用插件的语法为vue.use() */
Vue.use(Vuex)

/** 导出vuex数据存储仓库 */
export default new Vuex.Store({
    /**仓库state：全局公用数据 */
    state:{
        city:'西安'
    },
    /**行为actions：接收组件派发的事件和传递过来的参数 */
    actions: {
        /**接收两个参数：context上下文、cityName传递参数 */
        changeCity(context,cityName){
            /**actions借助context上下文参数拿到commit方法，通过commit调用mutations */
            context.commit('changeCityMutations',cityName)
        }  
    },
    /**转化mutations：最后调用mutations去改变公用数据 */
    mutations: {
        changeCityMutations(state,cityName){
            state.city = cityName
        }
    }
})





